package cn.yunyichina.provider.hisiface.service.impl;

import java.util.List;

import org.springframework.stereotype.Service;

import cn.yunyichina.provider.hisiface.service.AbstractService;
import cn.yunyichina.provider.iface.entity.common.ResCommon;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ExamineDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ExamineDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ExamineListVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ExamineListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.examination.InspectDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.InspectDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.examination.InspectListVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.InspectListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ReportImageVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ReportImageVoResponse;

/**
 * 检验检查服务接口
 * 
 * @author zhou
 *
 */
@Service
public class HisifaceExaminationServiceImpl extends AbstractService {

	public ResCommon<List<ExamineListVoResponse>> getExamineList(ExamineListVo examineListVo) {
		String methodCode = "getExamineList";
    	String methodName = "检查结果列表查询";
    	
    	return doExecList(methodCode, methodName, examineListVo, ExamineListVoResponse.class);
	}

	public ResCommon<ExamineDetailVoResponse> getExamineDetail(ExamineDetailVo examineDetailVo) {
		String methodCode = "getExamineDetail";
		String methodName = "检查结果详情查询";
		
		return doExec(methodCode, methodName, examineDetailVo, ExamineDetailVoResponse.class);
	}

	public ResCommon<List<InspectListVoResponse>> getInspectList(InspectListVo inspectListVo) {
		String methodCode = "getInspectList";
    	String methodName = "检验报告列表查询";
    	
    	return doExecList(methodCode, methodName, inspectListVo, InspectListVoResponse.class);
	}

	public ResCommon<List<InspectDetailVoResponse>> getInspectDetail(InspectDetailVo inspectDetailVo) {
		String methodCode = "getInspectDetail";
    	String methodName = "检验报告详情查询";
    	
    	return doExecList(methodCode, methodName, inspectDetailVo, InspectDetailVoResponse.class);
	}
	
	public ResCommon<List<ReportImageVoResponse>> getReportImage(ReportImageVo reportImageVo) {
		String methodCode = "getReportImage";
    	String methodName = "报告图片查询";
    	
    	return doExecList(methodCode, methodName, reportImageVo, ReportImageVoResponse.class);
	}
}
